package cn.daomeng.firebird.mq.rabbit;

import cn.daomeng.firebird.mq.rabbit.RabbitMQMessageTarget;
import cn.daomeng.firebird.mq.rabbit.RabbitMessageListener;

/**
 * 消息队列接口
 * @author qsl
 */
public interface RabbitMQService {

    /**
     * 信息发送(exchangeType:direct)
     *
     * @param queueName
     *            queueName名称
     * @param data
     *            发送数据对象
     */
    void send(String queueName, Object data);

    /**
     * 信息发送
     *
     * @param
     * @param data 数据对象
     */
    void send(RabbitMQMessageTarget target, Object data);

    /**
     * 注册消费者
     *
     * @param l 消费者实例
     */
    void listen(RabbitMessageListener l, Integer concurrentConsumers);
}